#列表和元组（数组）
# （1）创建，两种形式
# a = []
# b = list()
#
# print(type(a))
# print(type(b))

# （2）初始化，允许储存不同类型
# a = [1,2,3,4]
# b = [1,2.0,True,[3,4,5]]
#
# # 可以直接打印列表中的所有值
# print(a)
# print(b)

# （3）下标访问，从0开始
# a = [1,2,3,4,'hello']
# print(a[4])
# # 下标修改
# a[4] = 5
# print(a[4])
# # 获取长度
# print(len(a))

# （4）Python中下标可以是负数，表示len(列表名) - 1
# a = [1,2,3,4,5]
# print(a[len(a)-1])
# print(a[-1])
# print(a[len(a) - 3])
# print(a[-3])

# （5）切片操作，不涉及数据的拷贝
# a = [1,2,3,4,5]
# # # [x:y] 左闭右开
# # print(a[1:4])
# # 省略边界
# print(a[1:])
# print(a[:len(a) - 2])
# # 可为负数
# print(a[:- 2])
# print(a[:])

# （6）指定步长的切片
# a = [1,2,3,4,5,6,7,8,9,0]
# # 步长为2
# print(a[::2])
# # 指定区间步长切片
# print(a[1:-1:1])
# # 步长取负数表示反向切片
# print(a[::-1])

# （7）遍历
# 1.for
# a = [1,2,3,4,5,6,7,8,9,0]

# 相当于auto
# for i in a:
#     print(i)

# 2.下标（可进行原列表修改）
# for i in range(0,len(a)):
#     print(a[i] + 3)

# for i in a[2:]:
#     print(i)

# 逆序
# for i in a[::-1]:
#     print(i)

# （8）插入
# append
# a = [1,2,3,4]
# a.append('1223')
# print(a)

# insert
# a = [1,2,3,4,5]
# a.insert(2,'ssss')
# print(a)

# （9）查找
# 使用in / not in查找
# print(x in a)
# a = [1,2,3,4,5]
# print(2 in a)
# print(10 not in a)
# print(1 not in a)

# 使用index找出存在元素的下标
# a = [1,2,3,4,5]
# print(a.index(3))
# print(a.index(6))

# （10）删除
# a = [1,2,3,3,3,3,3,"hello","sssss"]
# # 尾删
# a.pop()
# print(a)
# # 指定下标删除
# a.pop(1)
# print(a)
# # 根据内容删除,仅删除一个
# a.remove(3)
# print(a)

# （11）列表拼接
# # 使用 + 拼接
# a = [1,2,3,4,5]
# b = [6,7,8,9,10]
# # c = a + b
# # 使用 +=
# # a += b
# # print(c)
# # print(a)
# # print(b)
#
# # 使用extend
# a.extend(b)
# print(a)